package com.xzx.list;

/**
 * @author xinzhixuan
 * @version V1.0.0
 * @date 2021/3/14
 **/
public interface List {

    /**
     * 初始化一个空线性表
     * @return
     */
    List makeEmpty();

    /**
     * 根据位序k，返回响应的元素
     * @param k
     * @return
     */
    Integer findKth(int k);

    /**
     * 在线性表L中查找x的第一次出现的位置
     * @param x
     * @return
     */
    int find(Integer x);

    /**
     * 在位序i前插入一个新元素
     * @param x
     * @param index
     */
    void insert(Integer x, int index);

    /**
     * 删除指定位序i的元素
     * @param index
     */
    void delete(int index);

    /**
     * 返回线性表list的长度
     * @return
     */
    int length();
}
